.elevator-monitor {
  height: 90vh;
  background: linear-gradient(135deg, #001529 0%, #003a70 50%, #001529 100%);
  padding: 10px 20px 70px 20px;
  color: #fff;
  overflow: hidden;
  position: relative;
  .monitor-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    padding: 10px 20px;
    background: rgba(0, 21, 41, 0.8);
    border-radius: 8px;
    border: 1px solid rgba(24, 144, 255, 0.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);

    .monitor-title {
      color: #fff !important;
      margin: 0 !important;
      text-shadow: 0 0 10px rgba(24, 144, 255, 0.5);
    }

    .current-time {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 18px;
      color: #52cdd0;
      text-shadow: 0 0 5px rgba(82, 205, 208, 0.3);
    }
  }

  .monitor-content {
    height: calc(100vh - 120px);
    overflow: hidden;

    .ant-col {
      .ant-card {
        background: rgba(0, 21, 41, 0.8);
        border: 1px solid rgba(24, 144, 255, 0.3);
        border-radius: 8px;
        margin-bottom: 10px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
        backdrop-filter: blur(10px);

        .ant-card-head {
          background: rgba(24, 144, 255, 0.1);
          border-bottom: 1px solid rgba(24, 144, 255, 0.3);
          border-radius: 8px 8px 0 0;

          .ant-card-head-title {
            color: #52cdd0;
            font-weight: 600;
            font-size: 16px;
            text-shadow: 0 0 5px rgba(82, 205, 208, 0.3);
          }
        }

        .ant-card-body {
          color: #fff;
        }
      }
    }
  }

  .info-card {
    .ant-card-body {
      padding: 12px;
      height: 160px;
      overflow-y: auto;
    }

    .info-item {
      margin-bottom: 8px;
      display: flex;
      align-items: flex-start;
      gap: 8px;

      .ant-typography {
        color: #52cdd0;
        line-height: 1.4;
        font-size: 14px;
      }
    }
  }

  .operation-card {
    .ant-card-body {
      padding: 12px;
      height: 160px;
      overflow-y: auto;
    }

    .data-toggle {
      margin-bottom: 10px;
      text-align: center;

      .ant-btn-group {
        .ant-btn {
          border-radius: 4px;
          font-size: 12px;
          height: 28px;
          padding: 0 12px;
        }
      }
    }

    .ant-statistic {
      .ant-statistic-title {
        color: #52cdd0;
        font-size: 13px;
      }

      .ant-statistic-content {
        color: #52cdd0;
        font-size: 16px;
        font-weight: 600;
      }
    }
  }

  .realtime-card {
    .ant-card-body {
      padding: 12px;
      height: 160px;
      overflow-y: auto;
    }

    .realtime-toggle {
      margin-bottom: 10px;
      display: flex;
      align-items: center;
      gap: 8px;

      .ant-switch {
        background-color: rgba(24, 144, 255, 0.3);

        &.ant-switch-checked {
          background-color: #1890ff;
        }
      }

      .ant-typography {
        color: #52cdd0;
        font-size: 13px;
      }
    }

    .realtime-info {
      .info-item {
        margin-bottom: 8px;
        display: flex;
        align-items: center;
        gap: 8px;

        .ant-typography {
          color: #52cdd0;
          line-height: 1.4;
          font-size: 14px;
        }

        .ant-progress {
          flex: 1;

          .ant-progress-bg {
            background: linear-gradient(90deg, #52c41a, #1890ff);
          }
        }
      }
    }
  }

  .location-card {
    .ant-card-body {
      padding: 12px;
      height: 320px;
      overflow: hidden;
    }

    .elevator-location {
      text-align: center;
      margin-bottom: 10px;

      .ant-typography {
        color: #52cdd0;
        text-shadow: 0 0 5px rgba(82, 205, 208, 0.3);
        font-size: 16px;
      }
    }

    .elevator-visualization {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 270px;
      background: rgba(24, 144, 255, 0.1);
      border-radius: 8px;
      border: 1px solid rgba(24, 144, 255, 0.3);

      .elevator-shaft {
        position: relative;
        width: 80px;
        height: 250px;
        background: linear-gradient(to bottom, #1a1a1a, #333);
        border-radius: 4px;
        border: 2px solid #666;

        .floor-indicator {
          position: absolute;
          right: -25px;
          width: 20px;
          height: 28px;
          display: flex;
          align-items: center;
          justify-content: center;
          border-left: 1px solid rgba(24, 144, 255, 0.3);

          .floor-number {
            color: #52cdd0;
            font-size: 12px;
            font-weight: 600;
          }
        }

        .floor-indicator:nth-child(1) {
          bottom: 90%;
        }
        .floor-indicator:nth-child(2) {
          bottom: 80%;
        }
        .floor-indicator:nth-child(3) {
          bottom: 70%;
        }
        .floor-indicator:nth-child(4) {
          bottom: 60%;
        }
        .floor-indicator:nth-child(5) {
          bottom: 50%;
        }
        .floor-indicator:nth-child(6) {
          bottom: 40%;
        }
        .floor-indicator:nth-child(7) {
          bottom: 30%;
        }
        .floor-indicator:nth-child(8) {
          bottom: 20%;
        }
        .floor-indicator:nth-child(9) {
          bottom: 10%;
        }
        .floor-indicator:nth-child(10) {
          bottom: 0%;
        }

        .elevator-car {
          position: absolute;
          left: 5px;
          width: 70px;
          height: 28px;
          transition: bottom 0.5s ease-in-out;

          .car-body {
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, #1890ff, #096dd9);
            border-radius: 4px;
            border: 2px solid #fff;
            box-shadow: 0 2px 8px rgba(24, 144, 255, 0.5);
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            transition: transform 0.3s ease;

            &::before {
              content: '';
              position: absolute;
              top: 2px;
              left: 2px;
              right: 2px;
              bottom: 2px;
              border: 1px solid rgba(255, 255, 255, 0.3);
              border-radius: 2px;
            }

            .car-label {
              color: #52cdd0;
              font-weight: 600;
              font-size: 10px;
              text-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
              z-index: 1;
            }

            .car-status {
              position: absolute;
              top: -12px;
              right: -8px;

              .direction-icon {
                font-size: 12px;
                color: #52cdd0;

                &.up {
                  color: #52c41a;
                  animation: pulse 1s infinite;
                }

                &.down {
                  color: #ff4d4f;
                  animation: pulse 1s infinite;
                }
              }
            }
          }
        }
      }
    }
  }

  .video-card {
    .ant-card-body {
      padding: 12px;
      height: 180px;
      overflow: hidden;
    }

    .video-container {
      .video-placeholder {
        height: 140px;
        background: rgba(0, 0, 0, 0.5);
        border-radius: 8px;
        border: 1px solid rgba(24, 144, 255, 0.3);
        position: relative;
        overflow: hidden;

        .video-timestamp {
          position: absolute;
          top: 8px;
          left: 8px;
          color: #52cdd0;
          font-size: 14px;
          background: rgba(0, 0, 0, 0.7);
          padding: 4px 8px;
          border-radius: 4px;
          z-index: 2;
        }

        .video-content {
          width: 100%;
          height: 100%;
          position: relative;

          .video-background {
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, #1a1a1a, #333);
            position: relative;

            .person-detection {
              position: absolute;
              top: 0;
              left: 0;
              width: 100%;
              height: 100%;

              .person-box {
                position: absolute;
                border: 2px solid #52c41a;
                border-radius: 4px;
                background: rgba(82, 196, 26, 0.1);

                .face-label {
                  position: absolute;
                  top: -20px;
                  left: 0;
                  background: #52c41a;
                  color: #52cdd0;
                  font-size: 12px;
                  padding: 2px 6px;
                  border-radius: 2px;
                  white-space: nowrap;
                }

                &.person-1 {
                  top: 20%;
                  left: 15%;
                  width: 60px;
                  height: 80px;
                }

                &.person-2 {
                  top: 40%;
                  right: 20%;
                  width: 50px;
                  height: 70px;
                }

                &.person-3 {
                  bottom: 20%;
                  left: 30%;
                  width: 55px;
                  height: 75px;
                }
              }
            }
          }

          .video-info {
            position: absolute;
            bottom: 8px;
            right: 8px;
            display: flex;
            flex-direction: column;
            gap: 4px;

            .info-text {
              color: #52cdd0;
              font-size: 14px;
              background: rgba(0, 0, 0, 0.7);
              padding: 2px 6px;
              border-radius: 2px;
            }
          }
        }
      }
    }
  }

  .alarm-summary-card {
    .ant-card-body {
      padding: 12px;
      height: 80px;
      overflow: hidden;
    }

    .ant-statistic {
      .ant-statistic-title {
        color: #52cdd0;
        font-size: 13px;
      }

      .ant-statistic-content {
        color: #52cdd0;
        font-size: 18px;
        font-weight: 600;
      }
    }
  }

  .alarm-records-card {
    .ant-card-body {
      padding: 12px;
      height: 200px;
      overflow: hidden;
    }

    .ant-table {
      background: transparent;

      .ant-table-thead > tr > th {
        background: rgba(82, 205, 208, 0.1);
        color: #52cdd0;
        border-bottom: 1px solid rgba(82, 205, 208, 0.3);
        font-weight: 600;
        font-size: 13px;
        padding: 8px 4px;
      }

      .ant-table-tbody > tr > td {
        background: transparent;
        color: #52cdd0;
        border-bottom: 1px solid rgba(82, 205, 208, 0.1);
        font-size: 13px;
        padding: 6px 4px;
        transition: all 0.3s ease;
      }

      .ant-table-tbody > tr {
        animation: slideIn 0.5s ease-in-out;
      }

      .ant-table-tbody > tr:hover > td {
        background: rgba(82, 205, 208, 0.1);
      }
    }

    .ant-tag {
      border: none;
      font-weight: 600;
      font-size: 12px;
    }
  }

  // 底部状态栏
  .status-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 21, 41, 0.95);
    border-top: 1px solid rgba(24, 144, 255, 0.3);
    padding: 8px 20px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    backdrop-filter: blur(10px);
    z-index: 1000;

    .status-item {
      display: flex;
      align-items: center;
      gap: 6px;

      .ant-typography {
        color: #52cdd0;
        font-size: 14px;
      }
    }
  }

  // 动画效果
  @keyframes float {
    0%,
    100% {
      transform: translateY(0px);
    }
    50% {
      transform: translateY(-10px);
    }
  }

  @keyframes pulse {
    0%,
    100% {
      opacity: 1;
    }
    50% {
      opacity: 0.5;
    }
  }

  @keyframes slideIn {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  // 响应式设计
  @media (max-width: 1200px) {
    .monitor-content {
      .ant-col {
        span: 24;
        margin-bottom: 16px;
      }
    }
  }

  @media (max-width: 768px) {
    padding: 10px;

    .monitor-header {
      flex-direction: column;
      gap: 16px;
      text-align: center;
    }

    .elevator-visualization {
      min-height: 200px;
    }
  }

  // 滚动条样式
  ::-webkit-scrollbar {
    width: 6px;
  }

  ::-webkit-scrollbar-track {
    background: rgba(0, 21, 41, 0.5);
  }

  ::-webkit-scrollbar-thumb {
    background: rgba(24, 144, 255, 0.5);
    border-radius: 3px;
  }

  ::-webkit-scrollbar-thumb:hover {
    background: rgba(24, 144, 255, 0.7);
  }
}
